package h1.sismetro.negocio.itensManutencao;

import h1.sismetro.classesbasicas.Local;
import h1.sismetro.exceptions.AcessoAoBancoException;
import h1.sismetro.exceptions.ConexaoComBancoException;
import h1.sismetro.exceptions.LocalJaCadastradoException;
import h1.sismetro.exceptions.LocalNaoEncontradoException;
import h1.sismetro.exceptions.NenhumLocalCadastradoException;

import java.util.List;

public interface ICadastroLocal {
	public void cadastrar(Local novoLocal) throws AcessoAoBancoException, ConexaoComBancoException, LocalJaCadastradoException;
	public boolean existe(String identificador) throws AcessoAoBancoException, ConexaoComBancoException;
	public void alterar(Local novoLocal) throws AcessoAoBancoException, ConexaoComBancoException, LocalNaoEncontradoException;
	public void excluir(String identificador) throws AcessoAoBancoException, ConexaoComBancoException, LocalNaoEncontradoException;
	public Local recuperar(String identificador) throws AcessoAoBancoException, ConexaoComBancoException, LocalNaoEncontradoException;
	public List<Local> imprimir() throws AcessoAoBancoException, ConexaoComBancoException, NenhumLocalCadastradoException ;
}
